#ifndef __SL_INTC__H
#define __SL_INTC__H


#include "sl_types.h"


////////////////////////////////////////////////////////////////////////////////

typedef enum _InterruptSource
{
		IS_IRQ3 = 0,
		IS_IRQ2 = 1,
		IS_IRQ1 = 2,
		IS_IRQ0 = 3,
		IS_IRQ7 = 4,
		IS_IRQ6 = 5,
		IS_IRQ5 = 6,
		IS_IRQ4 = 7,
		IS_ATU02 = 8,
		IS_ATU01 = 9,
		IS_DMAC2_3 = 10,
		IS_DMAC0_1 = 11,
		IS_ATU13 = 12,
		IS_ATU12 = 13,
		IS_ATU11 = 14,
		IS_ATU03 = 15,
		IS_ATU41 = 16,
		IS_ATU32 = 17,
		IS_ATU31 = 18,
		IS_ATU2 = 19,
		IS_ATU101 = 20,
		IS_ATU6_9 = 21,
		IS_ATU5 = 22,
		IS_ATU42 = 23,
		IS_CMT1_AD1 = 24,
		IS_CMT0_AD0 = 25,
		IS_ATU103 = 26,
		IS_ATU102 = 27,
		IS_WDT = 28,
		IS_SCI2 = 29,
		IS_SCI1 = 30,
		IS_SCI0 = 31
}InterruptSource;

void sl_intc_reset(void);
void sl_intc_disableInterrupt(void);
void sl_intc_enableInterrupt(void);
BYTE sl_intc_getInterruptMask(void);
void sl_intc_setInterruptMask(BYTE mask);
void sl_intc_setEdgeSelectForNMI(BOOL bFalling);
void sl_intc_setDetectionModeForIRQ(BYTE irq, BOOL bLowLevel);
BOOL sl_intc_setInterruptPriority(InterruptSource eis, BYTE level);



#endif // __INTC__H
